home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 32 / cadence.zip / VOL2NO5.ZIP / LOG.LSP < prev   
Text File  |  1987-03-24  |  3KB  |  91 lines

  1. ; ====================================================================
  2. ;
  3. ;  AutoLISP Concepts    May 1987.    System Variables & Time Keeping
  4. ;                       Bill Kramer
  5. ;
  6. ;
  7. ;  Listing 1.  CDATE:   Returns the current date and time in a string.
  8. ;
  9. (defun Cdate ( / CD)
  10.     (setq CD (rtos (getvar "CDATE") 2 6))
  11.     (strcat (substr CD 5 2) "/" (substr CD 7 2) "/" (substr CD 3 2) " "
  12.             (substr CD 10 2) ":" (substr CD 12 2) ":" (substr CD 14 2)))
  13. ;
  14. ;
  15. ;  Listing 2.  TIMER:   Returns the interval time every other call.
  16. ;                       Elapsed time in fractions of a day.
  17. ;
  18. (defun Timer ( / ELPS)
  19.    (if (null TMON)
  20.       (setq TMON (getvar "DATE") ELPS nil)  
  21.       (setq ELPS (- (getvar "DATE") TMON) TMON nil))
  22.    ELPS)
  23. ;
  24. ;
  25. ;  Listing 3.  AUTOSAVE: Automatic save of the drawing file when ever
  26. ;                        a set time increment of 15 minutes has passed
  27. ;                        betweens calls to the AUTOSAVE command.
  28. ;                        Add to front of several (not all) menu buttons.
  29. ;
  30. (defun C:AutoSAVE ()
  31.    (if (null Tsaved) (setq Tsaved (getvar "DATE")))
  32.    (if 
  33.       (> (* (- (getvar "DATE") Tsaved) 1440.0) 15.0) 
  34.           (progn
  35.              (command "SAVE" "")
  36.              (setq Tsaved (getvar "DATE")))))
  37. ;
  38. ;
  39. ;  Listing 4. TIME:      Returns the time in a string format given  
  40. ;                        the Julian time.
  41. ;
  42. (defun Time (JDT) ; JDT is Julian Date/Time
  43.     (setq JDT (- JDT (fix JDT))
  44.           HH (* JDT 24.0)
  45.           MM (* (- HH (fix HH)) 60.0)
  46.           SS (* (- MM (fix MM)) 60.0)) 
  47.     (strcat (itoa (fix HH)) ":" 
  48.             (if (< (fix MM) 10) "0" "") (itoa (fix MM)) ":"
  49.             (if (< (fix SS) 10) "0" "") (itoa (fix SS)))) 
  50. ;
  51. ;
  52. ;  Listing 5. C:LOG      Log is a program that builds a time log
  53. ;                        program for activities currently being
  54. ;                        performed.
  55. ;
  56. (defun C:LOG ()
  57.   (if (null Tstart)
  58.    (progn
  59.      (if (null O-Name) (setq O-Name (getstring T "\nEnter your name:")))
  60.      (setq Temp
  61.          (if (null Proj) (getstring T "\nProject ID:")
  62.                 (getstring T (strcat "\nProject ID <" Proj "> :"))))
  63.      (if (null Proj) (setq Proj ""))
  64.      (if (/= "" Temp) (setq Proj Temp))
  65.      (setq Temp
  66.          (if (null Actv) (getstring T "\nActivity:")
  67.                 (getstring T (strcat "\nActivity <" Actv "> :"))))
  68.      (if (/= "" Temp) (setq Actv Temp))
  69.      (if (null Actv) (setq Actv ""))
  70.      (setq Tstart (cdate))
  71.      (timer)) 
  72.    (progn
  73.      (setq Tstart (strcat "Start: " Tstart "  Stop: " (cdate)) Elsp (timer)) 
  74.      (if LOG-FH
  75.         (write-line (strcat O-name ", " Proj ", " Actv "\n" Tstart
  76.                             "  Elapsed: " (time Elsp)) LOG-FH)
  77.         (write-line (strcat O-name ", " Proj ", " Actv "\n" Tstart
  78.                             "  Elapsed: " (time Elsp)))) 
  79.       (setq Tstart nil Elsp nil))))
  80. ;
  81. (defun C:Log-On ()
  82.    (setq FN (getstring "\nLog file name <LOG.LOG>:"))
  83.    (if (= FN "") (setq FN "LOG.LOG"))
  84.    (setq LOG-FH (open FN "w"))
  85.    (setq FN "   Log File Opened.  Type LOG to start clock."))
  86. ;
  87. (defun C:Log-Off ()
  88.    (setq LOG-FH (close LOG-FH))
  89.    (prompt "\nEnding current drawing session.")
  90.    (command "END"))
  91.